Laser print apparatus with dual halftones

ABSTRACT

A printing system comprises a memory configured to store image data representing an image. The printing system comprises a processor configured to perform a first digital halftone process on a first portion of the image and a second digital halftone process on a second portion of the image.

BACKGROUND

Color and gray value digital images are both composed of picture elements (pixels), where each pixel is represented by multiple binary bits that define either a color or a gray level. In order to represent such an image on a bi-level printer, the individual color or gray level pixels are typically converted to binary level pixels through use of a digital halftoning process.

Digital halftoning is the process of transforming a continuous-tone image into a lower bit-depth, typically binary, image that has the illusion of the original continuous-tone image, using a careful arrangement of lower bit-depth picture elements. The process is also referred to as spatial dithering. In the case of color images, the color continuous-tone image is typically separated into color channels first. Separate halftones are then formed for each of the color channels.

Typically, for laser printers, ordered cluster dot halftones using lower lines per inch (lpi), such as 100-150 lpi, are best for photographs, areas of constant gray scale, or gradient patterns. Halftones using a lower lpi reduce print artifacts, such as banding, but may result in jagged edges for the sharp edges found in text and line art. Halftones using a higher lpi, such as 200-300 lpi, are best for text and line art, but are not as good for photographs, areas of constant gray scale, and gradient patterns. Print artifacts, such as banding, become more pronounced as the lpi is increased.

SUMMARY

One aspect of the present invention provides a printing system comprising a memory and a processor. The memory is configured to store image data representing an image. The processor is configured to perform a first digital halftone process on a first portion of the image and a second digital halftone process on a second portion of the image.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram illustrating one embodiment of major components of a printing system.

FIG. 1B is a block diagram illustrating another embodiment of major components of a printing system.

FIG. 2 is an image illustrating one embodiment of a 50% gray scale magnified letter “H.”

FIG. 3 is an image illustrating one embodiment of the magnified letter “H” after a digital halftone process has been applied to the image.

FIG. 4 is an image illustrating one embodiment of the magnified letter “H” after a dual digital halftone process has been applied to the image.

FIG. 5 is a flow diagram illustrating one embodiment of a method for applying a dual digital halftone process to an image.

DETAILED DESCRIPTION

In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

FIG. 1A is a block diagram illustrating one embodiment of major components of a printing system 100A. Printing system 100A includes host or computer 102 and printer 120. In one embodiment, printer 120 is a laser printer or laser print apparatus.

Computer 102 includes processor 104, memory 108, and input/output (I/O) interface 116, which are communicatively coupled together via bus 106. Driver 110, data 112 to be printed, and image data 114 are stored in memory 108. In one embodiment, driver 110 is executed by processor 104 to render data 112 to be printed into image data 114, including performing a dual halftone process as described in further detail below with reference to FIGS. 2-5. The data 112 to be printed may be any type of printable data, such as image files, word processing files, etc. In one embodiment, image data 114 comprises rows and columns, with one pixel defined at the intersection of each row and column. In one form of the invention, image data 114 includes a plurality of pixels, with each pixel being represented by a multi-bit value (i.e., each pixel is represented by an N-bit value, where N is greater than one). In one embodiment, each pixel in image data 114 is represented by a 2-bit value (e.g., black, white, and two gray levels). In another embodiment, each pixel in image data 114 is represented by a 4-bit value. In another embodiment, each pixel is represented by a 1-bit value (e.g., black and white).

Printer 120 includes processor 122, I/O interface 126, memory 128, and laser print engine 130, which are communicatively coupled together via bus 124. I/O interface 126 of printer 120 is electrically coupled to I/O interface 116 of computer 102 through communication link 118. In one embodiment, I/O interfaces 116 and 126 are serial interfaces, such as universal serial bus (USB) interfaces, and communication link 118 is a USB cable. In another embodiment, I/O interfaces 116 and 126 are network interfaces, and communication link 118 is a network, such as a local area network. In other embodiments, other types of interfaces and communication links may be used, including those for wireless communications.

After rendering data 112 into image data 114, computer 102 outputs the image data 114 to printer 120 via communication link 118. The received image data 114 is stored in memory 128 of printer 120, where it is retrieved and processed by laser print engine 130 and printed to a medium. In one embodiment, image data 114 is compressed by computer 102 for transmission to printer 120 through communication link 118. Image data 114 is then decompressed by printer 120 by firmware or dedicated hardware.

FIG. 1B is a block diagram illustrating another embodiment of major components of a printing system 100B. Printing system 100B includes similar hardware as printing system 100A. But in system 100B, image data 114 is rendered by printer 120, rather than by computer 102. In one embodiment, driver 140 converts data 112 to be printed into a description file 142. In one form of the invention, driver 140 is a printer command language (PCL) driver for converting data 112 into a description file 142 that includes data and high level commands (e.g., place a Helvetica 12 point letter “Q” at location x,y on the page). Computer 102 transfers description file 142 to printer 120 via communication link 118, and printer 120 stores file 142 in memory 128.

Processor 122 then renders description file 142 into image data 114, including performing a dual halftone process as described in further detail below with reference to FIGS. 2-5. In one embodiment, printer 120 includes PCL firmware for rendering the description file 142 into image data 114. Image data 114 is stored in memory 128 of printer 120, where it is retrieved and processed by laser print engine 130 and printed to a medium.

FIG. 2 is an image illustrating one embodiment of a 50% gray scale magnified letter “H” 112 a. Magnified letter “H” 112 a is a portion of data 112 to be printed. Magnified letter “H” 112 a is rendered by processor 104 or processor 122 into image data 114.

FIG. 3 is an image illustrating one embodiment of magnified letter “H” 112 a after a digital halftone process has been applied to the image to generate a halftone image 114 a. Each square in halftone image 114 a represents a pixel, as indicated, for example, at 150. In this embodiment, halftone image 114 a includes 2-bit per pixel data, which results in four possible pixel values. The four possible pixel values include 0 (white), as indicated for example at 152, 1 (light gray), as indicated for example at 156, 2 (dark gray), as indicated for example at 158, and 3 (black), as indicated for example at 154. The four pixel values indicate the amount of toner applied in each pixel, from white where no toner is applied to the pixel, to black where toner is applied to the entire pixel. The 2-bit per pixel halftone image 114 a approximates the 50% gray scale letter “H” 112 a when the letter “H” is printed at its true size.

The halftone process results in jagged edges, however, as indicated for example at 160. When halftone image 114 a is printed, the jagged edges make the image look less sharp. The jagged edges are due to the pixel edges having both black and white values and the spacing between the white (or black) pixels. A lower lpi pattern has larger spacing resulting in larger runs of adjacent white pixels and black pixels. The lower lpi pattern also has lower frequency content that the human visual system picks up on more easily than higher frequency content, such as a higher lpi pattern.

FIG. 4 is an image of one embodiment of the magnified letter “H” after a dual digital halftone process has been applied to the image to generate a dual halftone image 114 b. In this embodiment, the edges, indicated for example at 170, of dual halftone image 114 b do not have 0 (white) pixel values. The absence of 0 (white) pixel values on the edges of dual halftone image 114 b results in sharp edges and prevents the jagged edges illustrated in halftone image 114 a.

The jagged edges are corrected by applying a different halftone to the edges of dual halftone image 114 b, as described in further detail below with reference to FIG. 5. The interior of dual halftone image 114 b is similar to halftone image 114 a where a single halftone is applied. In this embodiment, halftone image 114 a and the interior of dual halftone image 114 b are halftoned with a 120 lines per inch (lpi) 45° black screen. The edge of dual halftone image 114 b is halftoned with two possible pixel values per edge portion to approximate the edge value of each edge portion.

In one embodiment, the halftone algorithm darkens the edge input slightly and then semi-randomly outputs the two output levels closest to the input percentage. For example, if for the 2-bit per pixel output: 0=0/3 pulse of the laser, 1=1/3 pulse of the laser, 2=2/3 pulse of the laser, and 3=3/3 pulse (or full pulse) of the laser, then for 8-bit per pixel input, an edge value of 128 may be biased to 153. This is approximately 60% of the full pulse value of 255. Therefore, the halftone algorithm attempts to cover on average approximately 60% of the edge. This coverage is obtained by semi-randomly varying the output levels between 1 and 2 (1/3 and 2/3 ), while biasing toward 2's to get closer to 60%, instead of the 50% that would result if the halftone algorithm evenly alternated between 1 and 2.

By using a gray scale to prevent varying between black and white, the amplitude of modulation is lowered. By semi-randomly varying the output levels, the pattern has significant high frequency content. The combination of the gray scale and the semi-random variation of the output levels results in sharp edges when viewed by the human visual system.

FIG. 5 is a flow diagram illustrating one embodiment of a method 200 for rendering data 112 into image data 114 having dual halftones. Method 200 is performed by processor 104 or processor 122. At 202, image processing is started. At 204, the row (Row) of image data 114 is set equal to one and the column (Col) of image data 114 is set equal to one. At 206, a window of data is generated around the selected pixel. At 208, the processor determines whether the selected pixel is an edge pixel. If the selected pixel is not an edge pixel, then at 216, the output is based on halftone method one (normal halftone). If the selected pixel is an edge pixel, then at 210, the processor determines if the intensity difference from neighbor pixels outside the edge is greater than 25%, or other suitable value. If the intensity difference from neighbor pixels outside the edge is greater than 25%, or other suitable value, then at 212, the intensity of the edge pixel is adjusted. If the intensity difference from neighboring pixels from outside the edge is less than 25%, or other suitable value, then at 216, the output is based on halftone method one (normal halftone).

At 214, the output is based on halftone method two (alternate halftone) for the edge pixel. At 218, Col is incremented by one. At 220, the processor determines if the last column of image data 114 has been processed. If the last column of image data 114 has not been processed, then control returns to block 206 where the next column of image data 114 begins processing. If the last column of image data 114 has been processed, then at 222, Col is set equal to one and Row is incremented by one. At 224, the processor determines whether the last row of image data 114 has been processed. If the last row of image data 114 has been processed, then at 226, processing of image data 114 is completed. If the last row of image data 114 has not been processed, then control returns back to block 206 where the next row of image data 114 begins processing.

In one embodiment, halftone method two (alternate halftone) is any suitable halftone capable of recreating edges that look sharp rather than jagged when printed. Halftone method one (normal halftone), in one embodiment, is any suitable halftone capable of rendering smooth intensity ramps and substantially eliminating banding. In one embodiment, halftone method two (alternate halftone) uses a higher lpi than halftone method one (normal halftone) used for the portions of the image that are not edges. For example, in one embodiment, halftone method one (normal halftone) is a halftone in the 100-150 lpi range, and halftone method two (alternate halftone) is a halftone in the 200-300 lpi range, such as 212 lpi. In other embodiments, other halftones can be used for halftone method one (normal halftone) and halftone method two (alternate halftone).

Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof. 

1. A printing system comprising: a memory configured to store image data representing an image; and a processor configured to perform a first digital halftone process on a first portion of the image and a second digital halftone process on a second portion of the image, wherein the processor is configured to locate the first portion by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel, wherein the first portion is an edge of the image and the second portion is not an edge of the image, and the first digital halftone process comprises a higher resolution than the second digital halftone process, wherein the processor adjusts the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold, and wherein the first digital halftone process determines edge pixel values by selecting one of two nonzero pixel values.
 2. The printing system of claim 1, wherein the higher resolution comprises a higher lines per inch (lpi) halftone.
 3. The printing system of claim 1, wherein the first digital halftone process comprises a halftone within a range of approximately 200 lines per inch (lpi) to approximately 300 lpi.
 4. The printing system of claim 1, wherein the second digital halftone process comprises a halftone within a range of approximately 100 lines per inch (lpi) to approximately 150 lpi.
 5. The printing system of claim 1, wherein the one of two nonzero pixel values are selected semi-randomly.
 6. The printing system of claim 5, wherein the first halftone process alternates between the two nonzero pixel values such that one of the two nonzero pixel values is selected more often that the other of the two nonzero pixel values.
 7. The printing system of claim 1, wherein the first portion is at least one pixel wide.
 8. The printing system of claim 1, wherein the processor adjusts the intensity value of the first pixel by darkening the first pixel.
 9. A printing system comprising: a memory configured to store image data; and a processor configured to locate image edges in the image data and apply a first halftone to image data that is located at an image edge and apply a second halftone to image data that is not located at an image edge, wherein the processor is configured to locate the image edge by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel, wherein the first halftone comprises a higher resolution than the second halftone, wherein the processor adjusts the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold, and wherein the first halftone determines edge pixel values by selecting one of two nonzero pixel values.
 10. The printing system of claim 9, further comprising: a laser print engine to print the image data.
 11. The printing system of claim 9, wherein the higher resolution comprises a higher lines per inch (lpi).
 12. The printing system of claim 9, wherein the processor adjusts the intensity value of the first pixel by darkening the first pixel.
 13. A method for printing an image, the method comprising: receiving image data; locating a first image portion comprising an edge and a second image portion not comprising an edge in the image data by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel; applying a first halftone to the first image portion by selecting one of two nonzero pixel values to determine edge pixel values; applying a second halftone to the second image portion; printing the image data with the applied first halftone and the applied second halftone; and adjusting the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold, wherein applying the first halftone comprises applying a halftone having a higher resolution than the second halftone.
 14. The method of claim 13, wherein applying comprises applying a halftone having a higher lines per inch (lpi) than the second halftone.
 15. The method of claim 13, wherein the one of two nonzero pixel values is selected semi-randomly.
 16. The method of claim 15, wherein one of the two nonzero pixel values is selected more often that the other of the two nonzero pixel values.
 17. The method of claim 13, wherein applying the second halftone comprises applying a halftone within a range of approximately 100 lines per inch (lpi) to approximately 150 lpi.
 18. The method of claim 13, wherein applying the first halftone comprises applying a halftone within a range of approximately 200 lines per inch (lpi) to approximately 300 lpi.
 19. The method of claim 13, wherein receiving image data comprises receiving image data comprising text.
 20. The method of claim 13, wherein receiving image data comprises receiving image data comprising graphics.
 21. The method of claim 13, wherein adjusting the intensity value of the first pixel comprises darkening the first pixel.
 22. A printing system comprising: means for storing image data representing an image; means for performing a first digital halftone process on a first portion of the image and a second digital halftone process on a second portion of the image, wherein the first portion is located by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel, and means for adjusting intensity that adjusts the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold, wherein the first portion is an edge of the image and the second portion is not an edge of the image, and the first digital halftone process comprises a higher resolution than the second digital halftone process, and wherein the first digital halftone process determines edge pixel values by selecting one of two nonzero pixel values.
 23. The printing system of claim 22, wherein the higher resolution comprises a higher lines per inch (lpi).
 24. The printing system of claim 22, wherein the first digital halftone process comprises a halftone within a range of approximately 200 lines per inch (lpi) to approximately 300 lpi.
 25. The printing system of claim 22, wherein the second digital halftone process comprises a halftone within a range of approximately 100 lines per inch (lpi) to approximately 150 lpi.
 26. The printing system of claim 22, wherein the one of two nonzero pixel values are selected semi-randomly.
 27. The printing system of claim 26, wherein the first halftone process alternates between the two nonzero pixel values such that one of the two nonzero pixel values is selected more often that the other of the two nonzero pixel values.
 28. The printing system of claim 22, wherein the first portion is at least one pixel wide.
 29. The printing system of claim 22, wherein the means for adjusting intensity darkens the first pixel.
 30. A printing system comprising: means for storing image data; means for locating image edges in the image data and applying a first halftone to image data that is located at an image edge and applying a second halftone to image data that is not located at an image edge, wherein the image edge is located by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel, and means for adjusting intensity that adjusts the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold, wherein the first halftone comprises a higher resolution than the second halftone, and wherein the first halftone determines edge pixel values by selecting one of two nonzero pixel values.
 31. The printing system of claim 30, further comprising: means for printing the image data.
 32. The printing system of claim 30, wherein the higher resolution comprises a higher lines per inch (lpi).
 33. The printing system of claim 30, wherein the means for adjusting intensity darkens the first pixel.
 34. A computer-readable medium having computer-readable content to cause a computer to perform acts of: receiving image data; locating a first image portion comprising an edge and a second image portion not comprising an edge in the image data by comparing an intensity value of a first pixel and an intensity value of a second pixel, wherein the second pixel is adjacent to the first pixel; applying a first halftone to the first image portion by selecting one of two nonzero pixel values to determine edge pixel values; applying a second halftone to the second image portion; adjusting the intensity value of the first pixel if a difference between the intensity value of the first pixel and the intensity value of the second pixel is greater than a predetermined threshold; and printing the image data with the applied first halftone and the applied second halftone, wherein applying the first halftone comprises applying a higher resolution than the second halftone.
 35. The computer-readable medium of claim 34, wherein the higher resolution comprises a higher lines per inch (lpi).
 36. The computer-readable medium of claim 34, wherein the one of two nonzero pixel values is selected semi-randomly.
 37. The method of claim 36, wherein one of the two nonzero pixel values is selected more often that the other of the two nonzero pixel values.
 38. The computer-readable medium of claim 34, wherein applying the second halftone comprises applying a halftone within a range of approximately 100 lines per inch (lpi) to approximately 150 lpi.
 39. The computer-readable medium of claim 34, wherein applying the first halftone comprises applying a halftone within a range of approximately 200 lines per inch (lpi) to approximately 300 lpi.
 40. The computer-readable medium of claim 34, wherein receiving image data comprises receiving image data comprising text.
 41. The computer-readable medium of claim 34, wherein receiving image data comprises receiving image data comprising graphics.
 42. The computer-readable medium of claim 34, wherein adjusting the intensity value of the first pixel comprises darkening the first pixel. 